﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NHibernate;
using Castle.ActiveRecord;
using Castle.ActiveRecord.Queries;
using NHibernate.Expression;


namespace Almoxarifado.Models
{
    [ActiveRecord("[ReservaRecurso]")]
    public class ReservaRecurso : ActiveRecordBase<ReservaRecurso>
    {
         
        private int _id;       
        private Recurso _recurso;
        private ColaboradorRecurso _colaborador;
        private DateTime dtInicio;
        private DateTime dtFim;
        private int qtd;

        [PrimaryKey]
        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        [BelongsTo("RecursoId")]
        public Recurso Recurso
        {
            get { return _recurso; }
            set { _recurso = value; }
        }

        [BelongsTo("ColaboradorId")]
        public ColaboradorRecurso Colaborador
        {
            get { return _colaborador; }
            set { _colaborador = value; }
        }
        [Property]
        public DateTime DtInicio
        {
            get { return dtInicio; }
            set { dtInicio = value; }
        }

        [Property]
        public DateTime DtFim
        {
            get { return dtFim; }
            set { dtFim = value; }
        }

        [Property]
        public int Qtd
        {
            get { return qtd; }
            set { qtd = value; }
        }
      
        public static void Salvar(ReservaRecurso rr)
        {
            Create(rr);
        }

        public static ReservaRecurso[] getReservas(int idRecurso)
        {
 
            SimpleQuery<ReservaRecurso> q =
                new SimpleQuery<ReservaRecurso>(@"from ReservaRecurso c where c.Recurso.Id =" + idRecurso + " Order By c.DtInicio desc");

            return q.Execute();
        }

    }
}
